Avisos de seguridad
Sugerencia
Para obtener información completa sobre el tema de la seguridad en CODESYS entorno, consulte: Seguridad
Desarrollo de un Control HTML5
No es posible transferir ninguna cantidad de datos que pueda ocurrir con arreglos grandes. En este caso, es útil vincular la matriz con la funcionalidad de rango de desplazamiento. Esto también permite un mejor rendimiento de transferencia porque solo se transfiere la sección que realmente se necesita.
Tipo de editor:
ArrayRange
Tipo de propiedad: Actualizar
Tipo de variable: tipo base de la matriz
Por lo tanto, configure el control HTML5 con una propiedad de interfaz para la matriz de la siguiente manera:
Usando un control HTML5
Importante
Por razones de seguridad, al usar controles HTML5, debe tener en cuenta que la funcionalidad que contiene puede provocar ataques inesperados. Como resultado, se puede dañar el funcionamiento de un PLC.
Ejecución de ataques DoS en los servidores web
Espionaje de valores que han sido configurados en controles HTML5
Mostrar valores incorrectos de la aplicación
Envío de valores incorrectos a la aplicación
Ejemplos de estos incluyen los siguientes:
Para una protección eficaz, es necesario que se tomen las siguientes medidas de salvaguarda.
Comprobar el autor y el contenido
Use solo controles HTML5 de autores confiables.
CODESYS proporciona soporte para evitar cambios inesperados (y potencialmente maliciosos) en los controles de HTML5. Los controles HTML5 usados se pueden verificar en busca de cambios durante la compilación o la descarga y deben confirmarse inicialmente en los proyectos para esto. Se calcula una suma de comprobación (= valor hash) para el contenido de estos controles HTML5. Los autores de controles HTML5 pueden proporcionar sus valores hash para comparar.
Protocolo HTTPS seguro
Utilice HTTPS.
Con los controles HTML5, además de las declaraciones de caracteres y los eventos de entrada, como los clics del mouse, ahora también se transfieren los valores leídos o escritos en las variables IEC. Esto podría facilitar los ataques man-in-the-middle.
Acceso a recursos
De forma predeterminada, un control HTML5 no puede cargar recursos como secuencias de comandos o estilos. Sin embargo, los recursos que se proporcionan con el propio elemento están excluidos de esto. Si esto requiere que los contenidos se carguen desde servidores que no sean el controlador, esto se puede mitigar ajustando el ContentSecurityPolicyIncludeTrustedOrigins
ajuste en el generado automáticamente webvisu.cfg.json
expediente.
Sin embargo, esto no se recomienda por las siguientes razones:
Todos los demás controles de HTML5 también pueden descargar y usar contenidos de estas ubicaciones permitidas.
Basic Level no tiene control sobre los recursos cargados desde servidores externos, por lo que no se puede garantizar la disponibilidad y la compatibilidad.
Los servidores externos podrían proporcionar scripts maliciosos que luego podrían ejecutarse como parte del control HTML5. Por ejemplo, un script malicioso podría modificar valores recibidos o enviados o revelar información.
manipulación de archivos
Tenga cuidado si la aplicación utiliza controles HTML5 junto con la capacidad de modificar archivos. En el caso de la manipulación de archivos, los usuarios maliciosos podrían insertar código malicioso en los controles de HTML5. Esto debe temerse, por ejemplo, al usar el editor de texto de la visualización o funciones como SysFile
.
El desarrollador de la aplicación es responsable de asegurarse de que las rutas de archivo utilizadas para la modificación se verifiquen en busca de ubicaciones válidas (por ejemplo, no en el
$PlcLogic$/$visu$
carpetas). Esto es especialmente peligroso si el usuario de la visualización puede ingresar libremente la ruta para cambiar un archivo.Le recomendamos que utilice solo rutas codificadas de forma rígida. Alternativamente, también puede verificar que una ruta ingresada por el usuario esté en la ubicación esperada.